#pragma once

#include "sys/IInterface.h"
#include "WorkspaceID.h"

interface IWorkspace;	interface IMainFrame;	interface IAddinManager;interface IView;interface IController;

interface IApplication : public IInterface
{
	DEFINE_IID(IID_Application)

	virtual vresult Load()  = 0;
	virtual void Unload() = 0;

	virtual bool IsActive() const = 0;
	virtual IView* GetActiveView() const = 0;

	virtual IWorkspace* GetWorkspace() const = 0;
	virtual IMainFrame* GetMainFrame() const = 0;
	virtual IAddinManager* GetAddinManager() const = 0;

	virtual IController* GetController() const = 0;
};

